home *** CD-ROM | disk | FTP | other *** search
/ Mac Power 1997 November / MACPOWER-1997-11.ISO.7z / MACPOWER-1997-11.ISO / Apple関連 / ResEdit 2.1.3 / Examples / CExamples / Source / ResEd.h < prev    next >
Text File  |  1994-09-14  |  20KB  |  490 lines

  1. /*
  2. File ResEd.h
  3.  
  4. Copyright Apple Computer, Inc. 1984-1990
  5. All rights reserved.
  6.  
  7.     Resource editor interface unit for instances of editors and pickers. This should be
  8.     included by any C implementation of a resource editor or picker.  The
  9.     companion file ResDisp.a.o should be linked with the c module to build
  10.     the file for inclusion in ResEdit.
  11.  
  12.     Pickers are given a resource type and should display all of that type in 
  13.     the current resfile in a suitable format.     If the picker is given an open call 
  14.     AND there's a compatible editor, it should give birth to the Editor.  The editor
  15.     is given a handle to the resource object and it should open up an edit
  16.     window for the user.
  17.  
  18. */
  19.  
  20. #include    <types.h>
  21. #include    <quickdraw.h>
  22. #include    <lists.h>
  23. #include    <controls.h>
  24. #include    <windows.h>
  25. #include    <events.h>
  26. #include    <dialogs.h>
  27. #include    <printing.h>
  28.  
  29. /* Standard menus exported by ResEdit */
  30.  
  31. #define    fileMenu         2
  32.  
  33. #define    newFileItem     1
  34. #define    openFileItem    2
  35. #define    openSpecialItem 3
  36. #define    closeItem       4
  37. #define    saveItem         5
  38. #define    revertItem        6
  39. #define    getThisInfoItem 8
  40. #define    getInfoItem     9
  41. #define    verifyItem         10
  42. #define    pageSetupItem   12
  43. #define    printItem        13
  44. #define    preferencesItem    15
  45. #define    quitItem        17
  46.     
  47.     // Masks for AbleMenu - normally not used directly.
  48. #define    newFileMask        0x2
  49. #define    openFileMask    0x4
  50. #define openSpecialMask    0x8
  51. #define    closeMask        0x10
  52. #define    saveMask        0x20
  53. #define    revertMask        0x40
  54. #define    getThisInfoMask 0x100
  55. #define    getInfoMask        0x200
  56. #define    verifyMask        0x400
  57. #define    pageSetupMask    0x1000
  58. #define    printMask        0x2000
  59. #define    preferencesMask 0x8000
  60. #define    quitMask        0x20000
  61. #define    disabledMask    0x1
  62.  
  63.     // Mask combinations to be used in calls to AbleMenu.
  64. #define    fileNotOpen            disabledMask + newFileMask + openFileMask + openSpecialMask + getInfoMask + verifyMask + pageSetupMask + preferencesMask + quitMask
  65. #define    fileNoPrint            fileNotOpen + getThisInfoMask + closeMask + saveMask + revertMask
  66. #define    fileAll                fileNoPrint + printMask
  67. #define    fileNoSaveOrRevert     fileNotOpen + getThisInfoMask + closeMask + printMask
  68. #define    fileDA                disabledMask + openFileMask + newFileMask + openSpecialMask + getInfoMask + verifyMask + closeMask + quitMask
  69.  
  70. #define    rsrcMenu                128
  71.     
  72. #define    rsrcCreateItem            1
  73. #define    rsrcOpenItem            2
  74. #define    rsrcOpenTemplateItem    3
  75. #define    rsrcOpenHexItem            4
  76. #define    rsrcRevertItem            6
  77. #define    rsrcGetInfoItem            8
  78.     
  79. #define    rsrcCreateMask            0x2
  80. #define    rsrcOpenMask            0x4
  81. #define    rsrcOpenTemplateMask    0x8
  82. #define    rsrcOpenHexMask            0x10
  83. #define    rsrcRevertMask            0x40
  84. #define    rsrcGetInfoMask            0x100
  85. #define    rsrcDisabledMask        0xFFFFFE01
  86.     
  87. #define    rsrcDisabled            0xFFFFFE00
  88. #define    rsrcRevertOnly            rsrcDisabledMask + rsrcRevertMask
  89. #define    rsrcPickerNoSel            rsrcDisabledMask + rsrcCreateMask
  90. #define    rsrcFilePicker            rsrcPickerNoSel + rsrcOpenHexMask + rsrcRevertMask + rsrcOpenMask
  91. #define    rsrcRsrcPicker            rsrcFilePicker + rsrcOpenTemplateMask + rsrcGetInfoMask
  92. #define    rsrcEditor                rsrcDisabledMask + rsrcRevertMask + rsrcGetInfoMask
  93. #define    rsrcEditorPicker        rsrcEditor + rsrcOpenMask + rsrcOpenTemplateMask + rsrcOpenHexMask
  94. #define    rsrcDITLEd                rsrcEditorPicker - rsrcOpenHexMask + rsrcCreateMask
  95. #define    rsrcEditorCreate        rsrcEditor + rsrcCreateMask
  96.  
  97. #define    editMenu            3
  98.  
  99. #define    undoItem            1
  100. #define    cutItem             3
  101. #define    copyItem            4
  102. #define    pasteItem            5
  103. #define    clearItem            6
  104. #define    dupItem             8
  105. #define selectAllItem        9
  106. #define selectChangedItem    10
  107.  
  108. /* Masks for AbleMenu - normally not used directly. */
  109. #define undoMask            0x2
  110. #define cutMask                0x8
  111. #define editCopyMask        0x10
  112. #define pasteMask            0x20
  113. #define clearMask            0x40
  114. #define duplicateMask        0x100
  115. #define selectAllMask        0x200
  116. #define selectChangedMask    0x400
  117. #define editDisabledMask     0xFFFFF801
  118.  
  119. /* Mask combinations to be used in calls to AbleMenu. */
  120. #define editNone            editDisabledMask - 1
  121. #define editClear            editDisabledMask + clearMask
  122. #define editCopy            editDisabledMask + editCopyMask
  123. #define editPaste            editDisabledMask + pasteMask
  124. #define editUndoPasteOnly    editPaste + undoMask
  125. #define editDup                editClear + duplicateMask
  126. #define editNoDup            editDisabledMask + cutMask + editCopyMask + pasteMask + clearMask /* No dup or undo */
  127. #define editNoUndo            editNoDup + duplicateMask
  128. #define editUndNoDup        editNoDup + undoMask
  129. #define editAll                editNoUndo + undoMask
  130. #define editAcc             editUndNoDup            /* for DAs */
  131.  
  132. #define viewMenu 130            /* Type pickers view menu. */
  133.     
  134. #define viewByIDItem            1
  135. #define viewByNameItem            2
  136. #define viewBySizeItem            3
  137. #define viewByOrderItem            4
  138. #define viewBySpecialItem        5
  139. #define viewShowAttributesItem    7
  140.     
  141. /* Masks for AbleMenu. */
  142. #define viewByIDMask            0x2
  143. #define viewByNameMask            0x4
  144. #define viewBySizeMask            0x8
  145. #define viewByOrderMask            0x10
  146. #define viewBySpecialMask        0x20
  147. #define viewShowAttributesMask    0x40
  148. #define viewDisabledMask        0xFFFFFF81
  149.     
  150. #define viewNoSpecial            viewDisabledMask + viewByIDMask + viewByNameMask + viewBySizeMask + viewByOrderMask
  151. #define viewNoAttributes        viewNoSpecial + viewBySpecialMask
  152. #define viewAll                    viewNoAttributes + viewShowAttributesMask
  153.  
  154. #define fontMenu                144    /* Font menu with menus already added. */
  155.  
  156. #define miscStrings            129        /* Resource ID of STR# resource containing the strings. */
  157. #define miscStringsName     "¥pMisc"
  158. #define cantLoadSndErrStr    24        /* Snd picker error. */
  159. #define    sysStr                 45        /* 'Sys', etc. used by LDEF. */
  160.  
  161. /* Text for selected errors */
  162. #define errorStrings        132        /* Resource ID of STR# resource containing the error strings */
  163. #define errorStringsName "¥pErrors"
  164. #define genericErrStr            1    /* Returned by GetErrorText when no specific message available */
  165. #define ioErrStr                1
  166. #define writeProtectErrStr        2
  167. #define diskFullErrStr            3
  168. #define fileLockedErrStr        4
  169. #define outOfMemoryErrStr        5
  170. #define alreadyOpenErrStr        6
  171. #define tooManyOpenErrStr        7
  172. #define volNotMountedErrStr        8
  173. #define resNotFoundErrStr        9
  174. #define accessErrStr            10
  175. #define resFileNotFoundErrStr    11
  176. #define addResFailErrStr        12
  177. #define removeResFailErrStr        13
  178. #define resAttributesErrStr        14
  179. #define resMapErrStr            15    
  180. #define fileNotFoundErrStr        16
  181. #define eofErrStr                17
  182. #define fileBusyStr                18
  183. #define cantDecompressStr        19
  184.  
  185. #define arrowCursor -1    /* Used in the call to SetTheCursor to set the arrow cursor. */
  186.  
  187. #define theScrollBar 15                    /* Width of a scroll bar. */
  188.  
  189. #define okChoice 1                        /* Used for the OK button in dialogs. */
  190.     
  191. #define noDialog 0                        /* Used with EditorWindSetup. */
  192. #define noScrap -1                        /* Used with GetResEditScrapFile. */
  193.     
  194. #define alertStringsName "¥pAlert strings"
  195. #define revertResourceAlertStr 1
  196. #define noTemplateAlert 2                /* GNRL editor */
  197. #define cantPlayOnThisMachineAlert 3    /* snd picker */
  198. #define cantPlaySndAlert 4                /* snd picker */
  199.  
  200. /* Consts for Resource menu string */
  201. #define rsrcStrName         "¥pResource menu"
  202. #define rsrcCreateStr         1
  203. #define rsrcOpenStr         2
  204. #define rsrcListStr         3
  205. #define rsrcOpenLists         4
  206. #define rsrcOpenEditor         5
  207. #define rsrcOpenEditors     6
  208. #define rsrcOpenHex         7
  209. #define rsrcRevert             8
  210. #define rsrcRevertThese     9
  211. #define rsrcResources         10
  212. #define rsrcRevertRes         11
  213. #define rsrcRevertThis         12
  214. #define rsrcPatCreateStr     13
  215. #define rsrcSICNCreateStr    14
  216. #define rsrcDITLCreateStr    15
  217. #define rsrcRevertItemStr    16
  218. #define rsrcGNRLCreateStr    17
  219. #define rsrcOpenTemplate    18
  220. #define rsrcOpenPickerByID    19
  221.     
  222. //    Character code constants
  223. #define     leftArrowKey        0x1c
  224. #define     rightArrowKey        0x1d
  225. #define     upArrowKey            0x1e
  226. #define     downArrowKey        0x1f
  227. #define     tabkey                0x9
  228. #define        enterKey            0x03
  229. #define        deleteKey            0x08
  230. #define        returnKey            0x0d
  231. #define        escapeKey            0x1b
  232. #define        periodKey            0x2e
  233.  
  234.     typedef unsigned char Str64[65];
  235.  
  236. /* Alert kinds used by the DisplayAlert procedure. */
  237.  
  238.     typedef enum { displayTheAlert, displayStopAlert, displayNoteAlert, displayCautionAlert, 
  239.                    displayYNAlert, displayYNCAlert, displayYNCStopAlert, displayCancelDefaultCautionAlert } AlertType;
  240.  
  241. /* Icon kinds used by the ChooseIcon function */
  242.  
  243.     typedef enum { noIcon, normalIcon, reducedIcon, smallIcon,
  244.                    onlyICON, onlyICNPound } IconType;
  245.  
  246.      /* This defines the various types of icons handled by the icon chooser package. 
  247.          Passing onlyICON in the IconKind parameter of the ChooseIcon function forces the 
  248.         IconChooser to not allow reduced ICONs and SICNs. Passing onlyICNPound in 
  249.         the IconKind parameter uses ICN# resources instead of ICONs. Passing any
  250.          other value instructs the IconChooser to support regular ICONs, reduced ICONs, 
  251.         and SICNs (like in the MENU editor).                 */
  252.  
  253. /* Kinds of windows that support color in different degrees */
  254.     typedef enum { noColor, canColor, requiresColor } ColorType;
  255.  
  256. /* This structure is used by the GetQuickDrawVars procedure. */
  257.     typedef struct  {
  258.         long     randSeed;
  259.         BitMap     screenBits;
  260.         Cursor     arrow;
  261.         Pattern dkGray;
  262.         Pattern ltGray;
  263.         Pattern gray;
  264.         Pattern black;
  265.         Pattern white;
  266.         GrafPtr thePort;
  267.     } QuickDrawVars;
  268.     typedef    QuickDrawVars    *pQuickDrawVars;
  269.     
  270.     typedef enum {textOnlyPicker, graphical1DPicker, graphical2DPicker} PickerType;
  271.     
  272.     /* window types used to set the windowType field of the ParentHandle */
  273.     typedef enum {typePickerWindow, resourcePickerWindow, 
  274.                   folderInfoWindow, fileInfoWindow, resourceInfoWindow,
  275.                   editorWindow, floatingWindow} PossibleWindowTypes;
  276.  
  277.     typedef    struct ParentRec    *ParentPtr;
  278.     typedef    ParentPtr            *ParentHandle;
  279.  
  280.     typedef    struct ParentRec {
  281.         ParentHandle        father;
  282.         Str255                name;            /* Max 255 characters */
  283.         WindowPeek            wind;
  284.         Boolean                rebuild;        /* Flag set to indicate that window should be rebuilt  */
  285.         Boolean                resWasntLoaded;    /* TRUE if the resource should be released when the window is closed. */
  286.         unsigned char        windowType;
  287.         ResType                theResType;        /* Type of the resource being picked or edited. */
  288.         short                theResFile;        /* The home resfile of the window. */
  289.         short                codeResID;        /* Resource ID of the RSSC resource containing the picker or editor. */
  290.         Handle                theResToEdit;
  291.     } ParentRec;
  292.  
  293.     /* ViewTypes to be used with the viewBy item in the PickRec */
  294.     typedef enum {viewById, viewByName, viewBySize, viewByOrder, viewBySpecial} ViewTypes;
  295.  
  296. /* Standard picker record */
  297.  
  298.     typedef struct PickRec {
  299.         ParentHandle        father;            /* Back ptr to dad             */
  300.         Str255                fName;            /* Max 255 characters.         */         
  301.         WindowPtr            wind;            /* Picker window         */
  302.         Boolean                rebuild;        /* Flag set to indicate that window should be rebuilt  */
  303.         Boolean                spare1;            /* Not used here */
  304.         unsigned char        windowType;
  305.         ResType                theResType;        /* Type of the resource being picked or edited. */
  306.         short                theResFile;        /* The home resfile of the window. */
  307.         short                codeResID;        /* Resource ID of the RSSC resource containing the picker or editor. */
  308.         Handle                spare2;            /* Not used here */
  309.  
  310.         ResType                rType;            /* Type for this picker     */
  311.         long                rSize;            /* size of a null resource     */
  312.         short                minWindowWidth;    /* Use when the window is grown. */
  313.         short                minWindowHeight;
  314.         ListHandle            instances;        /* List of instances         */
  315.         short                nInsts;            /* Number of instances         */
  316.         unsigned char        viewBy;            /* Current view type        */
  317.         Boolean                showAttributes;    /* Show attrs in window?    */
  318.         ResType                ldefType;        /* Which LDEF to use        */
  319.         MenuHandle            theViewMenu;    /* The picker view menu        */
  320.         long                viewMenuMask;    /* Which items are enabled?    */
  321.         Cell                cellSize;        /* Size for special view.    */
  322.         Str255                optionCreateStr;/* Create item menu text when the option key is pressed. */
  323.     } PickRec;
  324.     
  325.     typedef    PickRec    *PickPtr;
  326.     typedef    PickPtr    *PickHandle;
  327.  
  328.     typedef struct FloatingWindowRec {
  329.         ParentHandle        father;            /* Back ptr to dad             */
  330.         Str255                name;            /* Max 255 characters.         */         
  331.         WindowPtr            wind;            /* Floating window         */
  332.         Boolean                rebuild;        /* Flag set to indicate that window should be rebuilt  */
  333.         Boolean                visible;        /* Is the window hidden temporarily? */
  334.         unsigned char        windowType;
  335.         ResType                theResType;        /* Type of the resource being picked or edited. */
  336.         short                theResFile;        /* The home resfile of the window. */
  337.         short                codeResID;        /* Resource ID of the RSSC resource containing the picker or editor. */
  338.         WindowPtr            ownerWindow;    /* Which window owns this floating window? */
  339.     } FloatingWindowRec;
  340.  
  341.     typedef FloatingWindowRec *FloatingWindowPtr;
  342.     typedef FloatingWindowPtr *FloatingWindowHandle;
  343.  
  344.     typedef pascal void (*DrawResProcPtr) (Rect *lRect, Handle theIcon);
  345.  
  346.  
  347. /* Window Utilities */
  348.  
  349. pascal Boolean        AlreadyOpen (StringPtr windowTitle, StringPtr windowName, ParentHandle parent);
  350. pascal WindowPtr    EditorWindSetup (short dlogID, ColorType colorKind, short width, short height, StringPtr windowTitle, 
  351.                                      StringPtr windowName, Boolean addFrom, short windowKind, ParentHandle parent);
  352. pascal WindowPtr    FloatingWindowSetup (short WINDID, FloatingWindowHandle fw,
  353.                                             ParentHandle owner, Point where);
  354. pascal void            GetWindowTitle (StringPtr windowTitle, StringPtr windowName, Boolean addFrom,
  355.                                     ParentHandle parent);
  356. pascal WindowPtr    PickerWindSetup (ColorType colorKind, Boolean showTheWindow, short width, short height, 
  357.                                      StringPtr windowTitle, short windowKind, ParentHandle parent);
  358. pascal void            SetETitle(Handle h, StringPtr str);
  359. pascal WindowPtr    WindAlloc(void);
  360. pascal void            WindReturn(WindowPtr w);
  361.  
  362.  
  363. /* Extended Resource Manager */
  364.  
  365. pascal Boolean        REAddNewRes(short resFile, Handle hNew, ResType t, short idNew, const Str255 s);
  366. pascal void            REAddResource(short resFile, Handle theResource,
  367.                                   ResType theType, short theID, const Str255 name);
  368. pascal short        REBeautifulUnique1ID(short resFile, ResType WhichType);
  369. pascal short        RECount1Resources(short resFile, ResType theType);
  370. pascal short        RECount1Types (short resFile);
  371. pascal Handle        REGet1IndResource(short resFile, ResType theType, short index);
  372. pascal void            REGet1IndType(short resFile, ResType *theType, short index);
  373. pascal Handle        REGet1NamedResource(short resFile, ResType theType, const Str255 name);
  374. pascal Handle        REGet1Resource(short resFile, ResType theType, short theID);
  375. pascal Handle        REGet1ResourceSpecial (short resFile, ResType theType, short ID, 
  376.                                            Boolean *wasLoaded, short *error);
  377. pascal Handle        RENewUniqueRes(short resFile, long s, ResType t);
  378. pascal void            RERemoveAnyResource (short resFile, Handle theRes);
  379. pascal Boolean        RevertThisResource (ParentHandle parent, Handle theRes);
  380.  
  381. /* Routines used by pickers. */
  382. pascal short        DefaultListCellSize(void);
  383. pascal Boolean        DoPickBirth(ColorType colorKind, Boolean buildList, PickerType which,
  384.                                 short pickerResId, PickHandle pick);
  385. pascal void            DrawLDEF (short message, Boolean lSelect, const Rect *lRect, Handle theRes,
  386.                               short id, StringPtr title, short maxH, short maxV, 
  387.                               DrawResProcPtr DrawResource, ListHandle lh);
  388. pascal void            GrowMyWindow (short minWidth, short minHeight, WindowPtr windPtr, ListHandle lh);
  389. pascal void            PickEvent(EventRecord *evt, PickHandle pick);
  390. pascal void            PickInfoUp(short oldID, short newID, PickHandle pick);
  391. pascal void            PickMenu(short menu, short item, PickHandle pick);
  392. pascal short        PickStdHeight(void);
  393. pascal short        PickStdWidth(void);
  394.  
  395. /* Routines used by editors. */
  396. pascal Boolean        CloseNoSave(void);
  397. pascal Boolean        NeedToRevert (WindowPtr myWindow, Handle theRes);
  398. pascal void            NoDoubleClickHere(void);
  399. pascal void            SetResChanged(Handle h);
  400. pascal Boolean        WasItLoaded(void);
  401.  
  402.  
  403. /* These routines are used to start pickers and editors.*/
  404.  
  405. pascal void            GiveEBirth(Handle resHandle, PickHandle pick);
  406. pascal void            GiveSubEBirth(Handle resHandle, PickHandle pick);
  407. pascal void            GiveThisEBirth(Handle resHandle, PickHandle pick, ResType openThisType);
  408.  
  409. /* These routines are used to feed events and menu calls to the appropriate picker or editor. */
  410.  
  411. pascal void         CallDoEvent (EventRecord *evt, WindowPtr theWindow);
  412. pascal void            CallInfoUpdate(short oldID, short newID, long object, short id);
  413. pascal void         PassEvent (EventRecord *evt, ParentHandle parent);
  414. pascal void         PassMenu(short menu, short item, ParentHandle parent);
  415.  
  416. /* Miscellaneous utilities */
  417.  
  418. pascal void            Abort(void);
  419. pascal void            AbleMenu(short menu, long enable);
  420. pascal void            BubbleUp(Handle);
  421. pascal void            CenterDialog (ResType theType, short dialog);
  422. pascal Boolean        CheckError(short err, short msgID);
  423. pascal Boolean        ChooseIcon(ParentHandle parent, short *IconResID, IconType *IconKind,
  424.                                 short dialogID);
  425. pascal Boolean        ColorAvailable(Boolean needColorQD);
  426. pascal void            ConcatStr(StringPtr str1, StringPtr str2);
  427. pascal short        DisplayAlert(AlertType which, short id);
  428. pascal Boolean        DisplaySTRAlert(AlertType which, const Str255 STRName, short STRIndex);
  429. pascal void            DrawMBarLater(Boolean forceItNow);
  430. pascal WindowPtr    FindOwnerWindow (Handle theRes);
  431. pascal void            FixHand(long s, Handle h);
  432. pascal void            FlashDialogItem (DialogPtr dp, short item);
  433. pascal void            FrameDialogItem (DialogPtr dp, short item);
  434. pascal void            GetNamedStr(short index, const Str255 name, StringPtr str);
  435. pascal pQuickDrawVars GetQuickDrawVars(void);
  436. pascal Rect            GetScreenRect(Boolean roomForIcons, WindowPtr wind);
  437. pascal void            GetStr(short index, short resID, StringPtr str);
  438. pascal Boolean        HandleCheck(Handle h, short msgID);
  439. pascal void            MetaKeys(Boolean *cmd, Boolean *shift, Boolean *opt);
  440. pascal Handle        PrintSetup(void);        /* Return type is actually THPrint */
  441. pascal void            PrintWindow (PicHandle toPrint);
  442. pascal short        ResEdID(void);
  443. pascal void            SetTheCursor (short whichCursor);
  444. pascal void            ShowInfo(Handle h, ParentHandle parent);
  445. pascal Boolean        StandardFilter(DialogPtr theDialog, EventRecord *theEvent, short *itemHit);
  446. pascal void            TypeToString(ResType t, StringPtr s);
  447. pascal void            UseAppRes(void); 
  448. pascal Boolean        WasAborted(void);
  449.  
  450. /* Popup Menus */
  451.  
  452. pascal Boolean        ColorPalettePopupSelect(WindowPtr whichWindow, Rect *itemBox,
  453.                               RGBColor *whichColor, Boolean CQDishere, Boolean useColorPicker );
  454. pascal void            DeinstallColorPalettePopup(WindowPtr whichWindow, Boolean CQDishere);
  455. pascal void            DoPopup(DialogPtr whichDialog, short promptDialogItem,
  456.                              short popupDialogItem, short *menuItem, MenuHandle whichMenu);
  457. pascal void            DrawColorPopup(WindowPtr whichWindow, Rect *itemBox,
  458.                                      RGBColor *whichColor, Boolean CQDishere);
  459. pascal void            DrawPopup(DialogPtr whichDialog, short whichDialogItem,
  460.                                short whichMenuItem, MenuHandle whichMenu);
  461. pascal void            InstallColorPalettePopup(WindowPtr whichWindow, Boolean CQDishere,
  462.                                              Boolean isActive);
  463.     
  464. /* Routines that are used internally within ResEdit and may be useful in other
  465.     circumstances. */
  466.     
  467. pascal short        BuildType(ResType t, ListHandle lh);
  468. pascal Boolean        CompressedResource(Handle theResource);
  469. pascal void            DoKeyScan(EventRecord *evt, short offset, ListHandle lh);
  470. pascal Handle        DupPick(Handle h, Cell c, PickHandle pick);
  471. pascal void            GetErrorText (short error, StringPtr errorText);
  472. pascal short        GetResEditScrapFile(void);
  473. pascal Boolean        GetType(Boolean templatesOnly, StringPtr s);
  474. pascal ResType        MapResourceType (Boolean editor, Handle theRes, ResType origResType);
  475. pascal Boolean        PlaySyncSound(short which, Handle sndHandle);
  476. pascal short        ResEditRes(void) =
  477.                     {0x3eB8, 0x0900};    /* move.w    CurApRefNum,(sp) */
  478. pascal void            ResourceIDHasChanged (ParentHandle parent, ResType theType, short theOldId, short theNewId);
  479. pascal Boolean        RestoreRemovedResources (PickHandle pick);
  480. pascal void            ScrapCopy(ResType theType, Handle *h);
  481. pascal void            ScrapEmpty(void);
  482. pascal void            SendRebuildToPicker (ResType theType, ParentHandle parent);
  483. pascal void            SendRebuildToPickerAndFile (ResType theType, ParentHandle parent) ;
  484. pascal short        SysResFile(void);
  485. pascal ListHandle    WindList(WindowPtr w, short nAcross, Point cSize, short drawProc);
  486. pascal void            WindOrigin(WindowPtr w, ParentHandle parent);
  487. pascal void            WritePreferences (ResType prefType, short prefId, const Str255 prefName, Handle prefHandle);
  488.  
  489.  
  490.